package models

import "time"

type Account struct {
	Account                string    `json:"account" xorm:"not null pk default '' VARCHAR(32)"`
	BlockedTime            string    `json:"blocked_time" xorm:"not null default '0' VARCHAR(14)"`
	BlockedReason          string    `json:"blocked_reason" xorm:"not null default '' VARCHAR(128)"`
	TempBlockedTime        string    `json:"temp_blocked_time" xorm:"not null default '' VARCHAR(14)"`
	TempBlockedReason      string    `json:"temp_blocked_reason" xorm:"not null default '' VARCHAR(128)"`
	Password               string    `json:"password" xorm:"not null default '' VARCHAR(32)"`
	Protect                string    `json:"protect" xorm:"not null default '' VARCHAR(32)"`
	AutoLock               int       `json:"auto_lock" xorm:"not null default 0 INT(11)"`
	Locked                 string    `json:"locked" xorm:"not null default '' VARCHAR(14)"`
	GoldCoin               int       `json:"gold_coin" xorm:"not null default 0 INT(11)"`
	SilverCoin             int       `json:"silver_coin" xorm:"not null default 0 INT(11)"`
	LimitTradeCoin         int       `json:"limit_trade_coin" xorm:"not null default 0 INT(11)"`
	TradeLockTime          string    `json:"trade_lock_time" xorm:"not null default '' VARCHAR(14)"`
	Name                   string    `json:"name" xorm:"not null default '' VARCHAR(32)"`
	Birthday               string    `json:"birthday" xorm:"not null default '' VARCHAR(8)"`
	IdType                 string    `json:"id_type" xorm:"not null default '' VARCHAR(32)"`
	IdNum                  string    `json:"id_num" xorm:"not null default '' VARCHAR(32)"`
	Tel                    string    `json:"tel" xorm:"not null default '' VARCHAR(32)"`
	Mobile                 string    `json:"mobile" xorm:"not null default '' VARCHAR(32)"`
	Email                  string    `json:"email" xorm:"not null default '' VARCHAR(32)"`
	Time                   int       `json:"time" xorm:"not null default 0 INT(11)"`
	ActiveTime             string    `json:"active_time" xorm:"not null default '' VARCHAR(14)"`
	FirstLoginTime         string    `json:"first_login_time" xorm:"not null default '' VARCHAR(14)"`
	FirstLoginMac          string    `json:"first_login_mac" xorm:"not null default '' VARCHAR(32)"`
	Privilege              int       `json:"privilege" xorm:"not null default 0 INT(11)"`
	AccountId              string    `json:"account_id" xorm:"not null default '' VARCHAR(32)"`
	PermitIp               string    `json:"permit_ip" xorm:"not null default '' VARCHAR(128)"`
	PermitId               string    `json:"permit_id" xorm:"not null default '' VARCHAR(128)"`
	Ip                     string    `json:"ip" xorm:"not null default '' VARCHAR(15)"`
	Adult                  int       `json:"adult" xorm:"not null default 1 TINYINT(4)"`
	Checksum               string    `json:"checksum" xorm:"not null default '' VARCHAR(32)"`
	CoinPassword           string    `json:"coin_password" xorm:"not null default '' VARCHAR(32)"`
	UnlockCoinPasswordTime string    `json:"unlock_coin_password_time" xorm:"not null default '' VARCHAR(14)"`
	OrgPassword            string    `json:"org_password" xorm:"not null default '' VARCHAR(32)"`
	OrgPermitIp            string    `json:"org_permit_ip" xorm:"not null default '' VARCHAR(128)"`
	LastLoginTime          string    `json:"last_login_time" xorm:"not null default '' VARCHAR(14)"`
	LastLoginIp            string    `json:"last_login_ip" xorm:"not null default '' VARCHAR(128)"`
	LastLoginId            string    `json:"last_login_id" xorm:"not null default '' VARCHAR(32)"`
	Presentee              int       `json:"presentee" xorm:"not null default 0 TINYINT(4)"`
	RegDate                string    `json:"reg_date" xorm:"not null default '' VARCHAR(14)"`
	ActivePath             int       `json:"active_path" xorm:"not null default 0 TINYINT(4)"`
	TradeCoin              int       `json:"trade_coin" xorm:"not null default 0 INT(11)"`
	LastTradeCoin          string    `json:"last_trade_coin" xorm:"not null default '' CHAR(14)"`
	ConsumCoin             int       `json:"consum_coin" xorm:"not null default 0 INT(11)"`
	LastConsumCoin         string    `json:"last_consum_coin" xorm:"not null default '' CHAR(14)"`
	UpdateTime             time.Time `json:"update_time" xorm:"not null default 'CURRENT_TIMESTAMP' TIMESTAMP"`
	Memo                   string    `json:"memo" xorm:"TEXT"`
}


type Cdk struct {
	Cdk     string `json:"cdk" xorm:"not null pk default '' VARCHAR(255)"`
	Name    string `json:"name" xorm:"not null default '' VARCHAR(255)"`
	Jyb     int    `json:"jyb" xorm:"not null default 0 INT(11)"`
	Yyb     int    `json:"yyb" xorm:"not null default 0 INT(11)"`
	Account string `json:"account" xorm:"not null default '' VARCHAR(255)"`
	UseTime string `json:"use_time" xorm:"not null default '' VARCHAR(255)"`
	Used    int    `json:"used" xorm:"not null default 0 INT(11)"`
}

type User struct {
	Account string `json:"account" xorm:"not null pk default '' VARCHAR(32)"`
	Passwd  string `json:"passwd" xorm:"not null default '' VARCHAR(255)"`
	Email   string `json:"email" xorm:"not null default '' VARCHAR(32)"`
	Ip      string `json:"ip" xorm:"not null default '' VARCHAR(32)"`
}

type LoginLog struct {
	Id           int    `json:"id" xorm:"not null pk autoincr INT(11)"`
	UpdateTime   string `json:"update_time" xorm:"not null default '' index VARCHAR(14)"`
	Ip           string `json:"ip" xorm:"not null default '' VARCHAR(18)"`
	Account      string `json:"account" xorm:"not null default '' index VARCHAR(32)"`
	CharName     string `json:"char_name" xorm:"not null default '' VARCHAR(32)"`
	Dist         string `json:"dist" xorm:"not null default '' VARCHAR(32)"`
	Server       string `json:"server" xorm:"not null default '' VARCHAR(32)"`
	Privilege    int    `json:"privilege" xorm:"not null default 0 INT(11)"`
	LoginMode    int    `json:"login_mode" xorm:"not null default 0 INT(11)"`
	TimeUsed     int    `json:"time_used" xorm:"not null default 0 INT(11)"`
	LoginIp      string `json:"login_ip" xorm:"not null default '' index VARCHAR(15)"`
	LastLoginIp  string `json:"last_login_ip" xorm:"not null default '' VARCHAR(15)"`
	GoldCoin     int    `json:"gold_coin" xorm:"not null default 0 INT(11)"`
	SilverCoin   int    `json:"silver_coin" xorm:"not null default 0 INT(11)"`
	Insider      int    `json:"insider" xorm:"not null default 0 INT(11)"`
	Level        int    `json:"level" xorm:"not null default 0 INT(11)"`
	Tao          int    `json:"tao" xorm:"not null default 0 INT(11)"`
	Party        string `json:"party" xorm:"not null default '' VARCHAR(32)"`
	Family       string `json:"family" xorm:"not null default '' VARCHAR(32)"`
	CreateTime   string `json:"create_time" xorm:"not null default '' VARCHAR(32)"`
	Gid          string `json:"gid" xorm:"not null default '' VARCHAR(32)"`
	ProtectType  string `json:"protect_type" xorm:"not null default '' VARCHAR(32)"`
	UpgradeState int    `json:"upgrade_state" xorm:"not null default 0 INT(11)"`
	Memo         string `json:"memo" xorm:"not null TEXT"`
}
